"""
使用一个堆栈检查括号字符串是否平衡：
    有效括号字符串需满足：
        左括号必须用相同类型的右括号闭合。
        左括号必须以正确的顺序闭合。
        注意空字符串可被认为是有效字符串。
    举例：
        ((())): True
        ((()): False
        (())): False
    目标：使用一个堆栈作为数据结构，
        来检查括号字符串是否完全匹配。
"""


class Stack:
    def __init__(self, capacity: int):
        self.elements = []
        self.capacity = capacity

    def push(self, element: object) -> bool:
        if not self.full():
            self.elements.append(element)
            return True
        return False

    def pop(self) -> object:
        if not self.empty():
            return self.elements.pop()
        return None

    def empty(self) -> bool:
        if len(self.elements) == 0:
            return True
        return False

    def full(self) -> bool:
        if len(self.elements) == self.capacity:
            return True
        return False


def JudgeMatch(string: str) -> bool:
    n = len(string)
    stack = Stack(n)
    for character in string:
        stack.push(character)
    count = 0
    while not stack.empty():
        if stack.pop() == ")":
            count += 1
        if stack.pop() == "(":
            count -= 1
    return count == 0


BracketString = input()
print(f"Brackets matched: {JudgeMatch(BracketString)}")
